#ifndef INC_COMMANDS_NODE_SENDIDCOMMAND_H
#define INC_COMMANDS_NODE_SENDIDCOMMAND_H

#include "nodecommand.h"

namespace Commands {
	class SendIdCommand : public NodeCommand
	{
		id_type _id;
		static Command* makeCommand(string r, void* s);
		static const string NAME;
		public:
			SendIdCommand(id_type id, NodeData* data = 0);
			virtual ~SendIdCommand() {}

			/**
			 * Executes the command
			 */
			void execute();

			/**
			 * Returns the name by which the command is registered with a CommandFactory
			 * @return commandname
			 */
			string name();

			/**
			 * Return a string with which this command can be remade if it were fed into a CommandFactory
			 * @return representational string
			 */
			string repr();

			/**
			 * Return the creator to make this command given the representational string
			 * @return a CommandCreator for this Command
			 */
			CommandCreator creator();

		protected:
			virtual Document* toXML(Document* doc = 0);
	};
}

#endif /* INC_COMMANDS_NODE_SENDIDCOMMAND_H */
